// samsting : this file is auto create.

#ifndef ALIYUN_Rds_Region_DescribeDatabasesResponse_H_
#define ALIYUN_Rds_Region_DescribeDatabasesResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Rds_Region {

class DescribeDatabasesResponse : public AcsResponse {
public:
  DescribeDatabasesResponse();

  class Database {
    friend class DescribeDatabasesResponse;
  public:

    class AccountPrivilegeInfo {
      friend class DescribeDatabasesResponse;
      friend class Database;
    public:
      const string& GetAccount(void) const;
      const string& GetAccountPrivilege(void) const;
    private:
      string Account_;
      string AccountPrivilege_;
    }; // AccountPrivilegeInfo 

    const std::vector<AccountPrivilegeInfo>& GetAccounts(void) const;
    const string& GetDBName(void) const;
    const string& GetDBInstanceId(void) const;
    const string& GetEngine(void) const;
    const string& GetDBStatus(void) const;
    const string& GetCharacterSetName(void) const;
    const string& GetDBDescription(void) const;
  private:
    std::vector<AccountPrivilegeInfo> Accounts_;
    string DBName_;
    string DBInstanceId_;
    string Engine_;
    string DBStatus_;
    string CharacterSetName_;
    string DBDescription_;
  }; // Database 

  const std::vector<Database>& GetDatabases(void) const;

private:
  std::vector<Database> Databases_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Rds_Region {

#endif // #ifndef ALIYUN_Rds_Region_DescribeDatabasesResponse_H_

// end of file 
